# 作者: 肖老师
# 2024年11月18日22时23分38秒
# xxxrlmk@163.com
import random


class Sort:
    def __init__(self, count):
        self.length = count  # 排序多少元素
        self.arr = [0] * self.length
        for i in range(self.length):
            self.arr[i] = random.randint(0, 99)

    def bubble(self):
        arr = self.arr
        i = self.length - 1
        while i > 0:  # 外层控制无序数的数目
            flag = True  # 如果本身就是有序，提前结束排序
            j = 0
            while j < i:  # 内层控制比较
                if arr[j] > arr[j + 1]:
                    arr[j], arr[j + 1] = arr[j + 1], arr[j]
                    flag = False
                j += 1
            if flag:
                break
            i -= 1

    def select(self):
        arr = self.arr
        i = 0
        while i < self.length - 1:
            min_pos = i
            j = i + 1
            while j < self.length:
                if arr[j] < arr[min_pos]:
                    min_pos = j
                j += 1
            arr[i], arr[min_pos] = arr[min_pos], arr[i]
            i += 1


if __name__ == '__main__':
    s = Sort(10)
    print(s.arr)
    # s.bubble()
    s.select()
    print(s.arr)
